The invention relates to a method for operating a modular control system that has a central processor and a plurality of peripheral modules connected thereto. The invention further relates to a control system the employs such a method.
Such a modular control system is used to control installation parts that operate within an automated and frequently complex technical process. For this purpose, a central processor (master) and a plurality of so-called peripheral modules (slaves), such as actuators, sensors or general transducers, are provided, which are interconnected via a bus system or via point-to-point connections. These modules, which, as a rule, also act as (interface-) slaves, exchange process signals and status or control information with higher-level control tasks or functions within the networked control system.
To determine the physical arrangement of the individual modules within the (stored-program) control or automation system, a so-called slot with a fixed address is assigned to the central processor and to each module. The respective slot address depends on the respective number of the slot. The central processor and each of the modules are uniquely defined by this slot address.
In addition to the slot address, which defines a respective slot, each module has a start address which defines its location in the logic address space. This start address is determinant for the addressing of the inputs and outputs of the respective module by a higher-level application program, which is usually stored in the central processor. To read specific inputs or to write to outputs, the application program must access the addresses predefined by the system.
Based on this fixed slot and addressing scheme, the respective module always occupies the full address range of an allocated slot, irrespective of whether or not the full address range is actually used. As a result, address space is wasted because a slot with a specific number of inputs and/or outputs is actually occupied by a module that has a smaller number of inputs and/or outputs. This creates “gaps” within the address list of the process image stored, in particular, in the central processor and thus within the process image itself. The process image must always take into account the maximum number of occupiable inputs and outputs of the total system, which is based on the existing slots. The “gaps” occur when individual modules occupy fewer inputs and/or outputs than the number assigned to the respective slots. This makes it necessary to set aside memory space that is regularly unused at least by the central processor. This is ineffective and thus extremely undesirable because of the complexity and costs connected therewith.
This kind of assignment of slot numbers and slot addresses, and this kind of assignment of the start addresses that are determinant for the addressing of the inputs and outputs of the individual modules is not only extremely complex, especially during startup or initialization of such a modular control system, but also requires a precise knowledge of the entire system. For example, during startup, the given slot rules must be complied with in a manner specific to the system and, where applicable, hardware configurations must be performed. This makes the overall system very inflexible. Alternatively, in addition to generating the program, a time-consuming hardware configuration must be performed.